home *** CD-ROM | disk | FTP | other *** search
Wrap
/* * DO NOT EDIT THIS FILE - it is generated by Glade. */ #ifdef HAVE_CONFIG_H # include <config.h> #endif #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <string.h> #include <stdio.h> #include <gdk/gdkkeysyms.h> #include <gtk/gtk.h> #include "callbacks.h" #include "interface.h" #include "support.h" #define GLADE_HOOKUP_OBJECT(component,widget,name) \ g_object_set_data_full (G_OBJECT (component), name, \ gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref) #define GLADE_HOOKUP_OBJECT_NO_REF(component,widget,name) \ g_object_set_data (G_OBJECT (component), name, widget) GtkWidget* create_main_window (void) { GtkWidget *main_window; GdkPixbuf *main_window_icon_pixbuf; GtkWidget *vbox1; GtkWidget *toolbar1; GtkIconSize tmp_toolbar_icon_size; GtkWidget *tmp_image; GtkWidget *dump1; GtkWidget *deletebutton; GtkWidget *tablebutton; GtkWidget *launch1; GtkWidget *save_button; GtkWidget *help_button; GtkWidget *exit1; GtkWidget *about_button; GtkWidget *scrolledwindow1; GtkWidget *hash_list; GtkWidget *scrolledwindow2; GtkWidget *textview1; GtkWidget *statusbar1; main_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_window_set_title (GTK_WINDOW (main_window), "ophcrack"); gtk_window_set_default_size (GTK_WINDOW (main_window), 700, 560); main_window_icon_pixbuf = create_pixbuf ("os.xpm"); if (main_window_icon_pixbuf) { gtk_window_set_icon (GTK_WINDOW (main_window), main_window_icon_pixbuf); gdk_pixbuf_unref (main_window_icon_pixbuf); } vbox1 = gtk_vbox_new (FALSE, 10); gtk_widget_show (vbox1); gtk_container_add (GTK_CONTAINER (main_window), vbox1); toolbar1 = gtk_toolbar_new (); gtk_widget_show (toolbar1); gtk_box_pack_start (GTK_BOX (vbox1), toolbar1, FALSE, FALSE, 0); gtk_toolbar_set_style (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_BOTH); tmp_toolbar_icon_size = gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1)); tmp_image = gtk_image_new_from_stock ("gtk-harddisk", tmp_toolbar_icon_size); gtk_widget_show (tmp_image); dump1 = (GtkWidget*) gtk_tool_button_new (tmp_image, "Load..."); gtk_widget_show (dump1); gtk_container_add (GTK_CONTAINER (toolbar1), dump1); tmp_image = gtk_image_new_from_stock ("gtk-delete", tmp_toolbar_icon_size); gtk_widget_show (tmp_image); deletebutton = (GtkWidget*) gtk_tool_button_new (tmp_image, "Delete"); gtk_widget_show (deletebutton); gtk_container_add (GTK_CONTAINER (toolbar1), deletebutton); tmp_image = gtk_image_new_from_stock ("gtk-justify-fill", tmp_toolbar_icon_size); gtk_widget_show (tmp_image); tablebutton = (GtkWidget*) gtk_tool_button_new (tmp_image, "Tables..."); gtk_widget_show (tablebutton); gtk_container_add (GTK_CONTAINER (toolbar1), tablebutton); launch1 = (GtkWidget*) gtk_toggle_tool_button_new (); gtk_tool_button_set_label (GTK_TOOL_BUTTON (launch1), "Launch"); tmp_image = gtk_image_new_from_stock ("gtk-execute", tmp_toolbar_icon_size); gtk_widget_show (tmp_image); gtk_tool_button_set_icon_widget (GTK_TOOL_BUTTON (launch1), tmp_image); gtk_widget_show (launch1); gtk_container_add (GTK_CONTAINER (toolbar1), launch1); gtk_widget_set_sensitive (launch1, FALSE); save_button = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-save-as"); gtk_widget_show (save_button); gtk_container_add (GTK_CONTAINER (toolbar1), save_button); gtk_widget_set_sensitive (save_button, FALSE); help_button = (GtkWidget*) gtk_tool_button_new_from_stock ("gtk-help"); gtk_widget_show (help_button); gtk_container_add (GTK_CONTAINER (toolbar1), help_button); tmp_image = gtk_image_new_from_stock ("gtk-quit", tmp_toolbar_icon_size); gtk_widget_show (tmp_image); exit1 = (GtkWidget*) gtk_tool_button_new (tmp_image, "Exit"); gtk_widget_show (exit1); gtk_container_add (GTK_CONTAINER (toolbar1), exit1); tmp_image = create_pixmap (main_window, "os.xpm"); gtk_widget_show (tmp_image); about_button = (GtkWidget*) gtk_tool_button_new (tmp_image, "About"); gtk_widget_show (about_button); gtk_container_add (GTK_CONTAINER (toolbar1), about_button); scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow1); gtk_box_pack_start (GTK_BOX (vbox1), scrolledwindow1, TRUE, TRUE, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow1), GTK_SHADOW_IN); hash_list = gtk_tree_view_new (); gtk_widget_show (hash_list); gtk_container_add (GTK_CONTAINER (scrolledwindow1), hash_list); gtk_tree_view_set_enable_search (GTK_TREE_VIEW (hash_list), FALSE); scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow2); gtk_box_pack_start (GTK_BOX (vbox1), scrolledwindow2, FALSE, TRUE, 0); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); textview1 = gtk_text_view_new (); gtk_widget_show (textview1); gtk_container_add (GTK_CONTAINER (scrolledwindow2), textview1); gtk_widget_set_size_request (textview1, -1, 100); gtk_text_view_set_editable (GTK_TEXT_VIEW (textview1), FALSE); gtk_text_view_set_accepts_tab (GTK_TEXT_VIEW (textview1), FALSE); gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (textview1), FALSE); gtk_text_view_set_pixels_above_lines (GTK_TEXT_VIEW (textview1), 5); gtk_text_view_set_pixels_below_lines (GTK_TEXT_VIEW (textview1), 5); gtk_text_view_set_left_margin (GTK_TEXT_VIEW (textview1), 10); gtk_text_view_set_right_margin (GTK_TEXT_VIEW (textview1), 10); statusbar1 = gtk_statusbar_new (); gtk_widget_show (statusbar1); gtk_box_pack_start (GTK_BOX (vbox1), statusbar1, FALSE, FALSE, 0); gtk_container_set_border_width (GTK_CONTAINER (statusbar1), 1); g_signal_connect ((gpointer) main_window, "destroy", G_CALLBACK (on_exit1_activate), NULL); g_signal_connect ((gpointer) dump1, "clicked", G_CALLBACK (on_dump1_clicked), NULL); g_signal_connect ((gpointer) deletebutton, "clicked", G_CALLBACK (on_deletebutton_clicked), NULL); g_signal_connect ((gpointer) tablebutton, "clicked", G_CALLBACK (on_tablebutton_activate), NULL); g_signal_connect_swapped ((gpointer) launch1, "toggled", G_CALLBACK (on_launch1_toggled), GTK_OBJECT (launch1)); g_signal_connect ((gpointer) save_button, "clicked", G_CALLBACK (on_save_button_clicked), NULL); g_signal_connect ((gpointer) help_button, "clicked", G_CALLBACK (on_help_button_clicked), NULL); g_signal_connect ((gpointer) exit1, "clicked", G_CALLBACK (on_exit1_activate), NULL); g_signal_connect ((gpointer) about_button, "clicked", G_CALLBACK (on_about_button_clicked), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (main_window, main_window, "main_window"); GLADE_HOOKUP_OBJECT (main_window, vbox1, "vbox1"); GLADE_HOOKUP_OBJECT (main_window, toolbar1, "toolbar1"); GLADE_HOOKUP_OBJECT (main_window, dump1, "dump1"); GLADE_HOOKUP_OBJECT (main_window, deletebutton, "deletebutton"); GLADE_HOOKUP_OBJECT (main_window, tablebutton, "tablebutton"); GLADE_HOOKUP_OBJECT (main_window, launch1, "launch1"); GLADE_HOOKUP_OBJECT (main_window, save_button, "save_button"); GLADE_HOOKUP_OBJECT (main_window, help_button, "help_button"); GLADE_HOOKUP_OBJECT (main_window, exit1, "exit1"); GLADE_HOOKUP_OBJECT (main_window, about_button, "about_button"); GLADE_HOOKUP_OBJECT (main_window, scrolledwindow1, "scrolledwindow1"); GLADE_HOOKUP_OBJECT (main_window, hash_list, "hash_list"); GLADE_HOOKUP_OBJECT (main_window, scrolledwindow2, "scrolledwindow2"); GLADE_HOOKUP_OBJECT (main_window, textview1, "textview1"); GLADE_HOOKUP_OBJECT (main_window, statusbar1, "statusbar1"); return main_window; } GtkWidget* create_dialog1 (void) { GtkWidget *dialog1; GtkWidget *dialog_vbox1; GtkWidget *label3; GtkWidget *dialog_action_area1; GtkWidget *button3; dialog1 = gtk_dialog_new (); gtk_container_set_border_width (GTK_CONTAINER (dialog1), 15); gtk_window_set_title (GTK_WINDOW (dialog1), "File Error"); gtk_window_set_type_hint (GTK_WINDOW (dialog1), GDK_WINDOW_TYPE_HINT_DIALOG); dialog_vbox1 = GTK_DIALOG (dialog1)->vbox; gtk_widget_show (dialog_vbox1); label3 = gtk_label_new ("Error: no valid hash was found in this file."); gtk_widget_show (label3); gtk_box_pack_start (GTK_BOX (dialog_vbox1), label3, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label3), GTK_JUSTIFY_CENTER); gtk_label_set_line_wrap (GTK_LABEL (label3), TRUE); dialog_action_area1 = GTK_DIALOG (dialog1)->action_area; gtk_widget_show (dialog_action_area1); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END); button3 = gtk_button_new_with_mnemonic ("OK"); gtk_widget_show (button3); gtk_dialog_add_action_widget (GTK_DIALOG (dialog1), button3, 0); g_signal_connect_swapped ((gpointer) button3, "clicked", G_CALLBACK (gtk_widget_destroy), GTK_OBJECT (dialog1)); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog1, "dialog1"); GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog_vbox1, "dialog_vbox1"); GLADE_HOOKUP_OBJECT (dialog1, label3, "label3"); GLADE_HOOKUP_OBJECT_NO_REF (dialog1, dialog_action_area1, "dialog_action_area1"); GLADE_HOOKUP_OBJECT (dialog1, button3, "button3"); return dialog1; } GtkWidget* create_filechooserdialog1 (void) { GtkWidget *filechooserdialog1; GtkWidget *dialog_vbox2; GtkWidget *textview2; GtkWidget *dialog_action_area2; GtkWidget *cancel_button2; GtkWidget *ok_button2; filechooserdialog1 = gtk_file_chooser_dialog_new ("Choose", NULL, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, NULL); gtk_window_set_type_hint (GTK_WINDOW (filechooserdialog1), GDK_WINDOW_TYPE_HINT_DIALOG); dialog_vbox2 = GTK_DIALOG (filechooserdialog1)->vbox; gtk_widget_show (dialog_vbox2); textview2 = gtk_text_view_new (); gtk_widget_show (textview2); gtk_box_pack_start (GTK_BOX (dialog_vbox2), textview2, FALSE, FALSE, 0); gtk_text_view_set_editable (GTK_TEXT_VIEW (textview2), FALSE); gtk_text_view_set_accepts_tab (GTK_TEXT_VIEW (textview2), FALSE); gtk_text_view_set_justification (GTK_TEXT_VIEW (textview2), GTK_JUSTIFY_CENTER); gtk_text_view_set_cursor_visible (GTK_TEXT_VIEW (textview2), FALSE); gtk_text_buffer_set_text (gtk_text_view_get_buffer (GTK_TEXT_VIEW (textview2)), "Select the directory containing the encrypted SAM and the SYSTEM file.\n(Usually under C:\\WINDOWS\\system32\\config\\)", -1); dialog_action_area2 = GTK_DIALOG (filechooserdialog1)->action_area; gtk_widget_show (dialog_action_area2); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area2), GTK_BUTTONBOX_END); cancel_button2 = gtk_button_new_from_stock ("gtk-cancel"); gtk_widget_show (cancel_button2); gtk_dialog_add_action_widget (GTK_DIALOG (filechooserdialog1), cancel_button2, GTK_RESPONSE_CANCEL); GTK_WIDGET_SET_FLAGS (cancel_button2, GTK_CAN_DEFAULT); ok_button2 = gtk_button_new_from_stock ("gtk-open"); gtk_widget_show (ok_button2); gtk_dialog_add_action_widget (GTK_DIALOG (filechooserdialog1), ok_button2, GTK_RESPONSE_OK); GTK_WIDGET_SET_FLAGS (ok_button2, GTK_CAN_DEFAULT); g_signal_connect ((gpointer) filechooserdialog1, "destroy", G_CALLBACK (on_filechooserdialog1_close), NULL); g_signal_connect ((gpointer) cancel_button2, "clicked", G_CALLBACK (on_cancel_button2_clicked), NULL); g_signal_connect ((gpointer) ok_button2, "clicked", G_CALLBACK (on_ok_button2_clicked), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (filechooserdialog1, filechooserdialog1, "filechooserdialog1"); GLADE_HOOKUP_OBJECT_NO_REF (filechooserdialog1, dialog_vbox2, "dialog_vbox2"); GLADE_HOOKUP_OBJECT (filechooserdialog1, textview2, "textview2"); GLADE_HOOKUP_OBJECT_NO_REF (filechooserdialog1, dialog_action_area2, "dialog_action_area2"); GLADE_HOOKUP_OBJECT (filechooserdialog1, cancel_button2, "cancel_button2"); GLADE_HOOKUP_OBJECT (filechooserdialog1, ok_button2, "ok_button2"); gtk_widget_grab_default (ok_button2); return filechooserdialog1; } GtkWidget* create_filechooserdialog2 (void) { GtkWidget *filechooserdialog2; GtkWidget *dialog_vbox3; GtkWidget *dialog_action_area3; GtkWidget *save_cancel_button; GtkWidget *save_ok_button; filechooserdialog2 = gtk_file_chooser_dialog_new ("", NULL, GTK_FILE_CHOOSER_ACTION_SAVE, NULL); gtk_window_set_type_hint (GTK_WINDOW (filechooserdialog2), GDK_WINDOW_TYPE_HINT_DIALOG); dialog_vbox3 = GTK_DIALOG (filechooserdialog2)->vbox; gtk_widget_show (dialog_vbox3); dialog_action_area3 = GTK_DIALOG (filechooserdialog2)->action_area; gtk_widget_show (dialog_action_area3); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area3), GTK_BUTTONBOX_END); save_cancel_button = gtk_button_new_from_stock ("gtk-cancel"); gtk_widget_show (save_cancel_button); gtk_dialog_add_action_widget (GTK_DIALOG (filechooserdialog2), save_cancel_button, GTK_RESPONSE_CANCEL); GTK_WIDGET_SET_FLAGS (save_cancel_button, GTK_CAN_DEFAULT); save_ok_button = gtk_button_new_from_stock ("gtk-save"); gtk_widget_show (save_ok_button); gtk_dialog_add_action_widget (GTK_DIALOG (filechooserdialog2), save_ok_button, GTK_RESPONSE_OK); GTK_WIDGET_SET_FLAGS (save_ok_button, GTK_CAN_DEFAULT); g_signal_connect ((gpointer) filechooserdialog2, "destroy", G_CALLBACK (on_filechooserdialog2_close), NULL); g_signal_connect_swapped ((gpointer) save_cancel_button, "clicked", G_CALLBACK (gtk_widget_destroy), GTK_OBJECT (filechooserdialog2)); g_signal_connect ((gpointer) save_ok_button, "clicked", G_CALLBACK (on_save_ok_button_clicked), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (filechooserdialog2, filechooserdialog2, "filechooserdialog2"); GLADE_HOOKUP_OBJECT_NO_REF (filechooserdialog2, dialog_vbox3, "dialog_vbox3"); GLADE_HOOKUP_OBJECT_NO_REF (filechooserdialog2, dialog_action_area3, "dialog_action_area3"); GLADE_HOOKUP_OBJECT (filechooserdialog2, save_cancel_button, "save_cancel_button"); GLADE_HOOKUP_OBJECT (filechooserdialog2, save_ok_button, "save_ok_button"); gtk_widget_grab_default (save_ok_button); return filechooserdialog2; } GtkWidget* create_fileselection (void) { GtkWidget *fileselection; GtkWidget *dialog_vbox4; GtkWidget *dialog_action_area4; GtkWidget *cancel_button1; GtkWidget *ok_button1; fileselection = gtk_file_chooser_dialog_new ("Select File...", NULL, GTK_FILE_CHOOSER_ACTION_OPEN, NULL); gtk_window_set_type_hint (GTK_WINDOW (fileselection), GDK_WINDOW_TYPE_HINT_DIALOG); dialog_vbox4 = GTK_DIALOG (fileselection)->vbox; gtk_widget_show (dialog_vbox4); dialog_action_area4 = GTK_DIALOG (fileselection)->action_area; gtk_widget_show (dialog_action_area4); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area4), GTK_BUTTONBOX_END); cancel_button1 = gtk_button_new_from_stock ("gtk-cancel"); gtk_widget_show (cancel_button1); gtk_dialog_add_action_widget (GTK_DIALOG (fileselection), cancel_button1, GTK_RESPONSE_CANCEL); GTK_WIDGET_SET_FLAGS (cancel_button1, GTK_CAN_DEFAULT); ok_button1 = gtk_button_new_from_stock ("gtk-open"); gtk_widget_show (ok_button1); gtk_dialog_add_action_widget (GTK_DIALOG (fileselection), ok_button1, GTK_RESPONSE_OK); GTK_WIDGET_SET_FLAGS (ok_button1, GTK_CAN_DEFAULT); g_signal_connect ((gpointer) fileselection, "destroy", G_CALLBACK (on_fileselection_close), NULL); g_signal_connect ((gpointer) cancel_button1, "clicked", G_CALLBACK (on_cancel_button1_clicked), NULL); g_signal_connect ((gpointer) ok_button1, "clicked", G_CALLBACK (on_ok_button1_clicked), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (fileselection, fileselection, "fileselection"); GLADE_HOOKUP_OBJECT_NO_REF (fileselection, dialog_vbox4, "dialog_vbox4"); GLADE_HOOKUP_OBJECT_NO_REF (fileselection, dialog_action_area4, "dialog_action_area4"); GLADE_HOOKUP_OBJECT (fileselection, cancel_button1, "cancel_button1"); GLADE_HOOKUP_OBJECT (fileselection, ok_button1, "ok_button1"); gtk_widget_grab_default (ok_button1); return fileselection; } GtkWidget* create_about_window (void) { GtkWidget *about_window; GtkWidget *vbox2; GtkWidget *logo_os; GtkWidget *about_text; GtkWidget *about_close_button; about_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_size_request (about_window, 480, 265); gtk_window_set_position (GTK_WINDOW (about_window), GTK_WIN_POS_CENTER_ON_PARENT); gtk_window_set_resizable (GTK_WINDOW (about_window), FALSE); gtk_window_set_decorated (GTK_WINDOW (about_window), FALSE); vbox2 = gtk_vbox_new (FALSE, 0); gtk_widget_show (vbox2); gtk_container_add (GTK_CONTAINER (about_window), vbox2); logo_os = create_pixmap (about_window, "logo_os.xpm"); gtk_widget_show (logo_os); gtk_box_pack_start (GTK_BOX (vbox2), logo_os, TRUE, TRUE, 0); about_text = gtk_text_view_new (); gtk_widget_show (about_text); gtk_box_pack_start (GTK_BOX (vbox2), about_text, TRUE, TRUE, 0); gtk_text_view_set_justification (GTK_TEXT_VIEW (about_text), GTK_JUSTIFY_CENTER); gtk_text_buffer_set_text (gtk_text_view_get_buffer (GTK_TEXT_VIEW (about_text)), "\n\nophcrack v2.3.3\nPhilippe Oechslin. Cedric Tissieres\nhttp://www.objectif-securite.ch\n", -1); about_close_button = gtk_button_new_with_mnemonic ("Close"); gtk_widget_show (about_close_button); gtk_box_pack_start (GTK_BOX (vbox2), about_close_button, FALSE, FALSE, 0); gtk_button_set_relief (GTK_BUTTON (about_close_button), GTK_RELIEF_NONE); g_signal_connect ((gpointer) about_window, "destroy", G_CALLBACK (on_about_close_button_clicked), NULL); g_signal_connect ((gpointer) about_close_button, "clicked", G_CALLBACK (on_about_close_button_clicked), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (about_window, about_window, "about_window"); GLADE_HOOKUP_OBJECT (about_window, vbox2, "vbox2"); GLADE_HOOKUP_OBJECT (about_window, logo_os, "logo_os"); GLADE_HOOKUP_OBJECT (about_window, about_text, "about_text"); GLADE_HOOKUP_OBJECT (about_window, about_close_button, "about_close_button"); return about_window; } GtkWidget* create_menu1 (void) { GtkWidget *menu1; GtkWidget *load_single_hash1; GtkWidget *load_pwdump_file1; GtkWidget *separator1; GtkWidget *from__sam; GtkWidget *local_pwdump1; GtkWidget *remote_pwdump1; menu1 = gtk_menu_new (); load_single_hash1 = gtk_menu_item_new_with_mnemonic ("Single hash"); gtk_widget_show (load_single_hash1); gtk_container_add (GTK_CONTAINER (menu1), load_single_hash1); load_pwdump_file1 = gtk_menu_item_new_with_mnemonic ("PWDUMP file"); gtk_widget_show (load_pwdump_file1); gtk_container_add (GTK_CONTAINER (menu1), load_pwdump_file1); separator1 = gtk_separator_menu_item_new (); gtk_widget_show (separator1); gtk_container_add (GTK_CONTAINER (menu1), separator1); gtk_widget_set_sensitive (separator1, FALSE); from__sam = gtk_menu_item_new_with_mnemonic ("From encrypted SAM"); gtk_widget_show (from__sam); gtk_container_add (GTK_CONTAINER (menu1), from__sam); local_pwdump1 = gtk_menu_item_new_with_mnemonic ("From local SAM"); gtk_widget_show (local_pwdump1); gtk_container_add (GTK_CONTAINER (menu1), local_pwdump1); remote_pwdump1 = gtk_menu_item_new_with_mnemonic ("From remote SAM"); gtk_widget_show (remote_pwdump1); gtk_container_add (GTK_CONTAINER (menu1), remote_pwdump1); g_signal_connect ((gpointer) load_single_hash1, "activate", G_CALLBACK (on_load_single_hash1_activate), NULL); g_signal_connect ((gpointer) load_pwdump_file1, "activate", G_CALLBACK (on_load_file1_activate), NULL); g_signal_connect ((gpointer) from__sam, "activate", G_CALLBACK (on_from__sam_activate), NULL); g_signal_connect ((gpointer) local_pwdump1, "activate", G_CALLBACK (on_local_pwdump1_activate), NULL); g_signal_connect ((gpointer) remote_pwdump1, "activate", G_CALLBACK (on_remote_pwdump1_activate), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (menu1, menu1, "menu1"); GLADE_HOOKUP_OBJECT (menu1, load_single_hash1, "load_single_hash1"); GLADE_HOOKUP_OBJECT (menu1, load_pwdump_file1, "load_pwdump_file1"); GLADE_HOOKUP_OBJECT (menu1, separator1, "separator1"); GLADE_HOOKUP_OBJECT (menu1, from__sam, "from__sam"); GLADE_HOOKUP_OBJECT (menu1, local_pwdump1, "local_pwdump1"); GLADE_HOOKUP_OBJECT (menu1, remote_pwdump1, "remote_pwdump1"); return menu1; } GtkWidget* create_dialog_remote_dump (void) { GtkWidget *dialog_remote_dump; GtkWidget *dialog_vbox5; GtkWidget *table1; GtkWidget *label4; GtkWidget *label5; GtkWidget *label6; GtkWidget *target_hostname; GtkWidget *target_share; GtkWidget *target_user; GtkWidget *dialog_action_area5; GtkWidget *remote_cancel_button; GtkWidget *remote_ok_button; dialog_remote_dump = gtk_dialog_new (); gtk_widget_set_size_request (dialog_remote_dump, 550, 125); gtk_window_set_title (GTK_WINDOW (dialog_remote_dump), "Remote SAM parameters"); gtk_window_set_default_size (GTK_WINDOW (dialog_remote_dump), 550, 125); gtk_window_set_resizable (GTK_WINDOW (dialog_remote_dump), FALSE); gtk_window_set_type_hint (GTK_WINDOW (dialog_remote_dump), GDK_WINDOW_TYPE_HINT_DIALOG); dialog_vbox5 = GTK_DIALOG (dialog_remote_dump)->vbox; gtk_widget_show (dialog_vbox5); table1 = gtk_table_new (3, 2, FALSE); gtk_widget_show (table1); gtk_box_pack_start (GTK_BOX (dialog_vbox5), table1, TRUE, TRUE, 0); label4 = gtk_label_new ("Target hostname or IP"); gtk_widget_show (label4); gtk_table_attach (GTK_TABLE (table1), label4, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label4), 0, 0.5); label5 = gtk_label_new ("Target share (default ADMIN$)"); gtk_widget_show (label5); gtk_table_attach (GTK_TABLE (table1), label5, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label5), 0, 0.5); label6 = gtk_label_new ("Username (if different from current)"); gtk_widget_show (label6); gtk_table_attach (GTK_TABLE (table1), label6, 0, 1, 2, 3, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label6), 0, 0.5); target_hostname = gtk_entry_new (); gtk_widget_show (target_hostname); gtk_table_attach (GTK_TABLE (table1), target_hostname, 1, 2, 0, 1, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_max_length (GTK_ENTRY (target_hostname), 60); gtk_entry_set_width_chars (GTK_ENTRY (target_hostname), 30); target_share = gtk_entry_new (); gtk_widget_show (target_share); gtk_table_attach (GTK_TABLE (table1), target_share, 1, 2, 1, 2, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_max_length (GTK_ENTRY (target_share), 60); gtk_entry_set_width_chars (GTK_ENTRY (target_share), 30); target_user = gtk_entry_new (); gtk_widget_show (target_user); gtk_table_attach (GTK_TABLE (table1), target_user, 1, 2, 2, 3, (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_entry_set_max_length (GTK_ENTRY (target_user), 60); gtk_entry_set_width_chars (GTK_ENTRY (target_user), 30); dialog_action_area5 = GTK_DIALOG (dialog_remote_dump)->action_area; gtk_widget_show (dialog_action_area5); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area5), GTK_BUTTONBOX_END); remote_cancel_button = gtk_button_new_from_stock ("gtk-cancel"); gtk_widget_show (remote_cancel_button); gtk_dialog_add_action_widget (GTK_DIALOG (dialog_remote_dump), remote_cancel_button, GTK_RESPONSE_CANCEL); GTK_WIDGET_SET_FLAGS (remote_cancel_button, GTK_CAN_DEFAULT); remote_ok_button = gtk_button_new_from_stock ("gtk-ok"); gtk_widget_show (remote_ok_button); gtk_dialog_add_action_widget (GTK_DIALOG (dialog_remote_dump), remote_ok_button, GTK_RESPONSE_OK); GTK_WIDGET_SET_FLAGS (remote_ok_button, GTK_CAN_DEFAULT); g_signal_connect ((gpointer) dialog_remote_dump, "destroy", G_CALLBACK (on_dialog_remote_dump_close), NULL); g_signal_connect ((gpointer) remote_cancel_button, "clicked", G_CALLBACK (on_remote_cancel_button_clicked), NULL); g_signal_connect ((gpointer) remote_ok_button, "clicked", G_CALLBACK (on_remote_ok_button_clicked), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (dialog_remote_dump, dialog_remote_dump, "dialog_remote_dump"); GLADE_HOOKUP_OBJECT_NO_REF (dialog_remote_dump, dialog_vbox5, "dialog_vbox5"); GLADE_HOOKUP_OBJECT (dialog_remote_dump, table1, "table1"); GLADE_HOOKUP_OBJECT (dialog_remote_dump, label4, "label4"); GLADE_HOOKUP_OBJECT (dialog_remote_dump, label5, "label5"); GLADE_HOOKUP_OBJECT (dialog_remote_dump, label6, "label6"); GLADE_HOOKUP_OBJECT (dialog_remote_dump, target_hostname, "target_hostname"); GLADE_HOOKUP_OBJECT (dialog_remote_dump, target_share, "target_share"); GLADE_HOOKUP_OBJECT (dialog_remote_dump, target_user, "target_user"); GLADE_HOOKUP_OBJECT_NO_REF (dialog_remote_dump, dialog_action_area5, "dialog_action_area5"); GLADE_HOOKUP_OBJECT (dialog_remote_dump, remote_cancel_button, "remote_cancel_button"); GLADE_HOOKUP_OBJECT (dialog_remote_dump, remote_ok_button, "remote_ok_button"); return dialog_remote_dump; } GtkWidget* create_dialog3 (void) { GtkWidget *dialog3; GtkWidget *vbox3; GtkWidget *label7; GtkWidget *hbuttonbox1; GtkWidget *button4; dialog3 = gtk_dialog_new (); gtk_container_set_border_width (GTK_CONTAINER (dialog3), 15); gtk_window_set_title (GTK_WINDOW (dialog3), "Error"); gtk_window_set_type_hint (GTK_WINDOW (dialog3), GDK_WINDOW_TYPE_HINT_DIALOG); vbox3 = GTK_DIALOG (dialog3)->vbox; gtk_widget_show (vbox3); label7 = gtk_label_new ("Error: you must at least \nspecify a target hostname of IP"); gtk_widget_show (label7); gtk_box_pack_start (GTK_BOX (vbox3), label7, FALSE, FALSE, 0); gtk_label_set_justify (GTK_LABEL (label7), GTK_JUSTIFY_CENTER); gtk_label_set_line_wrap (GTK_LABEL (label7), TRUE); hbuttonbox1 = GTK_DIALOG (dialog3)->action_area; gtk_widget_show (hbuttonbox1); gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox1), GTK_BUTTONBOX_END); button4 = gtk_button_new_with_mnemonic ("OK"); gtk_widget_show (button4); gtk_dialog_add_action_widget (GTK_DIALOG (dialog3), button4, 0); g_signal_connect_swapped ((gpointer) button4, "clicked", G_CALLBACK (gtk_widget_destroy), GTK_OBJECT (dialog3)); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (dialog3, dialog3, "dialog3"); GLADE_HOOKUP_OBJECT_NO_REF (dialog3, vbox3, "vbox3"); GLADE_HOOKUP_OBJECT (dialog3, label7, "label7"); GLADE_HOOKUP_OBJECT_NO_REF (dialog3, hbuttonbox1, "hbuttonbox1"); GLADE_HOOKUP_OBJECT (dialog3, button4, "button4"); return dialog3; } GtkWidget* create_table_dialog (void) { GtkWidget *table_dialog; GtkWidget *dialog_vbox6; GtkWidget *table2; GtkWidget *label8; GtkWidget *hbox1; GtkWidget *entry_directory; GtkWidget *button_directory; GtkWidget *image1; GtkWidget *label17; GtkWidget *scrolledwindow3; GtkWidget *table_type_list; GtkWidget *label23; GtkWidget *dialog_action_area6; GtkWidget *cancelbutton1; GtkWidget *okbutton1; table_dialog = gtk_dialog_new (); gtk_window_set_title (GTK_WINDOW (table_dialog), "Select ophcrack tables"); gtk_window_set_type_hint (GTK_WINDOW (table_dialog), GDK_WINDOW_TYPE_HINT_DIALOG); dialog_vbox6 = GTK_DIALOG (table_dialog)->vbox; gtk_widget_show (dialog_vbox6); table2 = gtk_table_new (2, 2, FALSE); gtk_widget_show (table2); gtk_box_pack_start (GTK_BOX (dialog_vbox6), table2, FALSE, FALSE, 0); gtk_table_set_col_spacings (GTK_TABLE (table2), 10); label8 = gtk_label_new ("Tables directory"); gtk_widget_show (label8); gtk_table_attach (GTK_TABLE (table2), label8, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label8), 0, 0.5); hbox1 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox1); gtk_table_attach (GTK_TABLE (table2), hbox1, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); entry_directory = gtk_entry_new (); gtk_widget_show (entry_directory); gtk_box_pack_start (GTK_BOX (hbox1), entry_directory, TRUE, TRUE, 0); button_directory = gtk_button_new (); gtk_widget_show (button_directory); gtk_box_pack_start (GTK_BOX (hbox1), button_directory, FALSE, FALSE, 0); image1 = gtk_image_new_from_stock ("gtk-open", GTK_ICON_SIZE_BUTTON); gtk_widget_show (image1); gtk_container_add (GTK_CONTAINER (button_directory), image1); label17 = gtk_label_new (" Tables type \n(auto-detected)"); gtk_widget_show (label17); gtk_table_attach (GTK_TABLE (table2), label17, 0, 1, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label17), 0, 0.5); scrolledwindow3 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow3); gtk_table_attach (GTK_TABLE (table2), scrolledwindow3, 1, 2, 1, 2, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); gtk_widget_set_size_request (scrolledwindow3, 350, 104); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow3), GTK_SHADOW_IN); table_type_list = gtk_tree_view_new (); gtk_widget_show (table_type_list); gtk_container_add (GTK_CONTAINER (scrolledwindow3), table_type_list); gtk_widget_set_size_request (table_type_list, 350, 100); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (table_type_list), FALSE); label23 = gtk_label_new ("1. Click the folder button to select the directory \n where the table set is stored.\n2. The type of the tables is automatically highlighted above.\n3. Click OK"); gtk_widget_show (label23); gtk_box_pack_start (GTK_BOX (dialog_vbox6), label23, FALSE, FALSE, 0); dialog_action_area6 = GTK_DIALOG (table_dialog)->action_area; gtk_widget_show (dialog_action_area6); gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area6), GTK_BUTTONBOX_END); cancelbutton1 = gtk_button_new_from_stock ("gtk-cancel"); gtk_widget_show (cancelbutton1); gtk_dialog_add_action_widget (GTK_DIALOG (table_dialog), cancelbutton1, GTK_RESPONSE_CANCEL); GTK_WIDGET_SET_FLAGS (cancelbutton1, GTK_CAN_DEFAULT); okbutton1 = gtk_button_new_from_stock ("gtk-ok"); gtk_widget_show (okbutton1); gtk_dialog_add_action_widget (GTK_DIALOG (table_dialog), okbutton1, GTK_RESPONSE_OK); GTK_WIDGET_SET_FLAGS (okbutton1, GTK_CAN_DEFAULT); g_signal_connect ((gpointer) table_dialog, "destroy", G_CALLBACK (on_table_dialog_destroy), NULL); g_signal_connect ((gpointer) button_directory, "clicked", G_CALLBACK (on_button_directory_clicked), NULL); g_signal_connect ((gpointer) cancelbutton1, "clicked", G_CALLBACK (on_cancel_table_dialog_clicked), NULL); g_signal_connect ((gpointer) okbutton1, "clicked", G_CALLBACK (on_ok_table_dialog_clicked), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (table_dialog, table_dialog, "table_dialog"); GLADE_HOOKUP_OBJECT_NO_REF (table_dialog, dialog_vbox6, "dialog_vbox6"); GLADE_HOOKUP_OBJECT (table_dialog, table2, "table2"); GLADE_HOOKUP_OBJECT (table_dialog, label8, "label8"); GLADE_HOOKUP_OBJECT (table_dialog, hbox1, "hbox1"); GLADE_HOOKUP_OBJECT (table_dialog, entry_directory, "entry_directory"); GLADE_HOOKUP_OBJECT (table_dialog, button_directory, "button_directory"); GLADE_HOOKUP_OBJECT (table_dialog, image1, "image1"); GLADE_HOOKUP_OBJECT (table_dialog, label17, "label17"); GLADE_HOOKUP_OBJECT (table_dialog, scrolledwindow3, "scrolledwindow3"); GLADE_HOOKUP_OBJECT (table_dialog, table_type_list, "table_type_list"); GLADE_HOOKUP_OBJECT (table_dialog, label23, "label23"); GLADE_HOOKUP_OBJECT_NO_REF (table_dialog, dialog_action_area6, "dialog_action_area6"); GLADE_HOOKUP_OBJECT (table_dialog, cancelbutton1, "cancelbutton1"); GLADE_HOOKUP_OBJECT (table_dialog, okbutton1, "okbutton1"); return table_dialog; } GtkWidget* create_tableselection (void) { GtkWidget *tableselection; GtkWidget *vbox4; GtkWidget *label29; GtkWidget *hbuttonbox2; GtkWidget *button6; GtkWidget *button7; tableselection = gtk_file_chooser_dialog_new ("Select directory...", NULL, GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, NULL); gtk_window_set_type_hint (GTK_WINDOW (tableselection), GDK_WINDOW_TYPE_HINT_DIALOG); vbox4 = GTK_DIALOG (tableselection)->vbox; gtk_widget_show (vbox4); label29 = gtk_label_new ("Select the directory where your table set is stored.\nClick Open."); gtk_widget_show (label29); gtk_box_pack_start (GTK_BOX (vbox4), label29, FALSE, FALSE, 0); hbuttonbox2 = GTK_DIALOG (tableselection)->action_area; gtk_widget_show (hbuttonbox2); gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox2), GTK_BUTTONBOX_END); button6 = gtk_button_new_from_stock ("gtk-cancel"); gtk_widget_show (button6); gtk_dialog_add_action_widget (GTK_DIALOG (tableselection), button6, GTK_RESPONSE_CANCEL); GTK_WIDGET_SET_FLAGS (button6, GTK_CAN_DEFAULT); button7 = gtk_button_new_from_stock ("gtk-open"); gtk_widget_show (button7); gtk_dialog_add_action_widget (GTK_DIALOG (tableselection), button7, GTK_RESPONSE_OK); GTK_WIDGET_SET_FLAGS (button7, GTK_CAN_DEFAULT); g_signal_connect ((gpointer) tableselection, "destroy", G_CALLBACK (on_tableselection_close), NULL); g_signal_connect ((gpointer) button6, "clicked", G_CALLBACK (on_cancel_ts_clicked), NULL); g_signal_connect ((gpointer) button7, "clicked", G_CALLBACK (on_ok_ts_clicked), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (tableselection, tableselection, "tableselection"); GLADE_HOOKUP_OBJECT_NO_REF (tableselection, vbox4, "vbox4"); GLADE_HOOKUP_OBJECT (tableselection, label29, "label29"); GLADE_HOOKUP_OBJECT_NO_REF (tableselection, hbuttonbox2, "hbuttonbox2"); GLADE_HOOKUP_OBJECT (tableselection, button6, "button6"); GLADE_HOOKUP_OBJECT (tableselection, button7, "button7"); gtk_widget_grab_default (button7); return tableselection; } GtkWidget* create_load_hash_dialog (void) { GtkWidget *load_hash_dialog; GtkWidget *vbox5; GtkWidget *table3; GtkWidget *label13; GtkWidget *hbox2; GtkWidget *entry4; GtkWidget *label16; GtkWidget *hbuttonbox3; GtkWidget *button8; GtkWidget *button9; load_hash_dialog = gtk_dialog_new (); gtk_window_set_title (GTK_WINDOW (load_hash_dialog), "Load single hash"); gtk_window_set_type_hint (GTK_WINDOW (load_hash_dialog), GDK_WINDOW_TYPE_HINT_DIALOG); vbox5 = GTK_DIALOG (load_hash_dialog)->vbox; gtk_widget_show (vbox5); table3 = gtk_table_new (1, 2, FALSE); gtk_widget_show (table3); gtk_box_pack_start (GTK_BOX (vbox5), table3, FALSE, FALSE, 0); label13 = gtk_label_new ("Hash: "); gtk_widget_show (label13); gtk_table_attach (GTK_TABLE (table3), label13, 0, 1, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0), 0, 0); gtk_misc_set_alignment (GTK_MISC (label13), 0, 0.5); hbox2 = gtk_hbox_new (FALSE, 0); gtk_widget_show (hbox2); gtk_table_attach (GTK_TABLE (table3), hbox2, 1, 2, 0, 1, (GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (GTK_FILL), 0, 0); entry4 = gtk_entry_new (); gtk_widget_show (entry4); gtk_box_pack_start (GTK_BOX (hbox2), entry4, TRUE, TRUE, 0); gtk_entry_set_max_length (GTK_ENTRY (entry4), 199); gtk_entry_set_width_chars (GTK_ENTRY (entry4), 50); label16 = gtk_label_new ("Supported formats:\n\nlmhash\nlmhash:nthash\nusername:userid:lmhash:nthash::: (like pwdump)"); gtk_widget_show (label16); gtk_box_pack_start (GTK_BOX (vbox5), label16, FALSE, FALSE, 0); hbuttonbox3 = GTK_DIALOG (load_hash_dialog)->action_area; gtk_widget_show (hbuttonbox3); gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox3), GTK_BUTTONBOX_END); button8 = gtk_button_new_from_stock ("gtk-cancel"); gtk_widget_show (button8); gtk_dialog_add_action_widget (GTK_DIALOG (load_hash_dialog), button8, GTK_RESPONSE_CANCEL); GTK_WIDGET_SET_FLAGS (button8, GTK_CAN_DEFAULT); button9 = gtk_button_new_from_stock ("gtk-ok"); gtk_widget_show (button9); gtk_dialog_add_action_widget (GTK_DIALOG (load_hash_dialog), button9, GTK_RESPONSE_OK); GTK_WIDGET_SET_FLAGS (button9, GTK_CAN_DEFAULT); g_signal_connect ((gpointer) load_hash_dialog, "destroy", G_CALLBACK (on_load_hash_dialog_destroy), NULL); g_signal_connect ((gpointer) button8, "clicked", G_CALLBACK (on_cancel_load_hash_dialog_clicked), NULL); g_signal_connect ((gpointer) button9, "clicked", G_CALLBACK (on_ok_load_hash_dialog_clicked), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (load_hash_dialog, load_hash_dialog, "load_hash_dialog"); GLADE_HOOKUP_OBJECT_NO_REF (load_hash_dialog, vbox5, "vbox5"); GLADE_HOOKUP_OBJECT (load_hash_dialog, table3, "table3"); GLADE_HOOKUP_OBJECT (load_hash_dialog, label13, "label13"); GLADE_HOOKUP_OBJECT (load_hash_dialog, hbox2, "hbox2"); GLADE_HOOKUP_OBJECT (load_hash_dialog, entry4, "entry4"); GLADE_HOOKUP_OBJECT (load_hash_dialog, label16, "label16"); GLADE_HOOKUP_OBJECT_NO_REF (load_hash_dialog, hbuttonbox3, "hbuttonbox3"); GLADE_HOOKUP_OBJECT (load_hash_dialog, button8, "button8"); GLADE_HOOKUP_OBJECT (load_hash_dialog, button9, "button9"); return load_hash_dialog; } GtkWidget* create_readahead_window (void) { GtkWidget *readahead_window; GtkWidget *readahead_label; readahead_window = gtk_window_new (GTK_WINDOW_POPUP); gtk_window_set_position (GTK_WINDOW (readahead_window), GTK_WIN_POS_CENTER_ON_PARENT); gtk_window_set_resizable (GTK_WINDOW (readahead_window), FALSE); gtk_window_set_decorated (GTK_WINDOW (readahead_window), FALSE); gtk_window_set_skip_taskbar_hint (GTK_WINDOW (readahead_window), TRUE); gtk_window_set_skip_pager_hint (GTK_WINDOW (readahead_window), TRUE); gtk_window_set_gravity (GTK_WINDOW (readahead_window), GDK_GRAVITY_CENTER); readahead_label = gtk_label_new ("Pre-loading table 0"); gtk_widget_show (readahead_label); gtk_container_add (GTK_CONTAINER (readahead_window), readahead_label); gtk_misc_set_padding (GTK_MISC (readahead_label), 50, 20); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (readahead_window, readahead_window, "readahead_window"); GLADE_HOOKUP_OBJECT (readahead_window, readahead_label, "readahead_label"); return readahead_window; } GtkWidget* create_help_window (void) { GtkWidget *help_window; GtkWidget *notebook1; GtkWidget *scrolledwindow4; GtkWidget *viewport1; GtkWidget *help_load; GtkWidget *label18; GtkWidget *scrolledwindow5; GtkWidget *viewport2; GtkWidget *help_delete; GtkWidget *label19; GtkWidget *scrolledwindow6; GtkWidget *viewport3; GtkWidget *help_tables; GtkWidget *label20; GtkWidget *scrolledwindow7; GtkWidget *viewport4; GtkWidget *help_launch; GtkWidget *label21; GtkWidget *scrolledwindow8; GtkWidget *viewport5; GtkWidget *help_save; GtkWidget *label22; help_window = gtk_window_new (GTK_WINDOW_TOPLEVEL); gtk_widget_set_size_request (help_window, 578, 460); gtk_window_set_title (GTK_WINDOW (help_window), "Help"); gtk_window_set_default_size (GTK_WINDOW (help_window), 578, 460); notebook1 = gtk_notebook_new (); gtk_widget_show (notebook1); gtk_container_add (GTK_CONTAINER (help_window), notebook1); scrolledwindow4 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow4); gtk_container_add (GTK_CONTAINER (notebook1), scrolledwindow4); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow4), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); viewport1 = gtk_viewport_new (NULL, NULL); gtk_widget_show (viewport1); gtk_container_add (GTK_CONTAINER (scrolledwindow4), viewport1); help_load = gtk_label_new (""); gtk_widget_show (help_load); gtk_container_add (GTK_CONTAINER (viewport1), help_load); label18 = gtk_label_new ("Load"); gtk_widget_show (label18); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), label18); scrolledwindow5 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow5); gtk_container_add (GTK_CONTAINER (notebook1), scrolledwindow5); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow5), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); viewport2 = gtk_viewport_new (NULL, NULL); gtk_widget_show (viewport2); gtk_container_add (GTK_CONTAINER (scrolledwindow5), viewport2); help_delete = gtk_label_new (""); gtk_widget_show (help_delete); gtk_container_add (GTK_CONTAINER (viewport2), help_delete); label19 = gtk_label_new ("Delete"); gtk_widget_show (label19); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 1), label19); scrolledwindow6 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow6); gtk_container_add (GTK_CONTAINER (notebook1), scrolledwindow6); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow6), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); viewport3 = gtk_viewport_new (NULL, NULL); gtk_widget_show (viewport3); gtk_container_add (GTK_CONTAINER (scrolledwindow6), viewport3); help_tables = gtk_label_new (""); gtk_widget_show (help_tables); gtk_container_add (GTK_CONTAINER (viewport3), help_tables); label20 = gtk_label_new ("Tables"); gtk_widget_show (label20); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 2), label20); scrolledwindow7 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow7); gtk_container_add (GTK_CONTAINER (notebook1), scrolledwindow7); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow7), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); viewport4 = gtk_viewport_new (NULL, NULL); gtk_widget_show (viewport4); gtk_container_add (GTK_CONTAINER (scrolledwindow7), viewport4); help_launch = gtk_label_new (""); gtk_widget_show (help_launch); gtk_container_add (GTK_CONTAINER (viewport4), help_launch); label21 = gtk_label_new ("Launch/Stop"); gtk_widget_show (label21); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 3), label21); scrolledwindow8 = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolledwindow8); gtk_container_add (GTK_CONTAINER (notebook1), scrolledwindow8); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow8), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); viewport5 = gtk_viewport_new (NULL, NULL); gtk_widget_show (viewport5); gtk_container_add (GTK_CONTAINER (scrolledwindow8), viewport5); help_save = gtk_label_new (""); gtk_widget_show (help_save); gtk_container_add (GTK_CONTAINER (viewport5), help_save); label22 = gtk_label_new ("Save"); gtk_widget_show (label22); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 4), label22); g_signal_connect ((gpointer) help_window, "destroy", G_CALLBACK (on_help_window_close), NULL); /* Store pointers to all widgets, for use by lookup_widget(). */ GLADE_HOOKUP_OBJECT_NO_REF (help_window, help_window, "help_window"); GLADE_HOOKUP_OBJECT (help_window, notebook1, "notebook1"); GLADE_HOOKUP_OBJECT (help_window, scrolledwindow4, "scrolledwindow4"); GLADE_HOOKUP_OBJECT (help_window, viewport1, "viewport1"); GLADE_HOOKUP_OBJECT (help_window, help_load, "help_load"); GLADE_HOOKUP_OBJECT (help_window, label18, "label18"); GLADE_HOOKUP_OBJECT (help_window, scrolledwindow5, "scrolledwindow5"); GLADE_HOOKUP_OBJECT (help_window, viewport2, "viewport2"); GLADE_HOOKUP_OBJECT (help_window, help_delete, "help_delete"); GLADE_HOOKUP_OBJECT (help_window, label19, "label19"); GLADE_HOOKUP_OBJECT (help_window, scrolledwindow6, "scrolledwindow6"); GLADE_HOOKUP_OBJECT (help_window, viewport3, "viewport3"); GLADE_HOOKUP_OBJECT (help_window, help_tables, "help_tables"); GLADE_HOOKUP_OBJECT (help_window, label20, "label20"); GLADE_HOOKUP_OBJECT (help_window, scrolledwindow7, "scrolledwindow7"); GLADE_HOOKUP_OBJECT (help_window, viewport4, "viewport4"); GLADE_HOOKUP_OBJECT (help_window, help_launch, "help_launch"); GLADE_HOOKUP_OBJECT (help_window, label21, "label21"); GLADE_HOOKUP_OBJECT (help_window, scrolledwindow8, "scrolledwindow8"); GLADE_HOOKUP_OBJECT (help_window, viewport5, "viewport5"); GLADE_HOOKUP_OBJECT (help_window, help_save, "help_save"); GLADE_HOOKUP_OBJECT (help_window, label22, "label22"); return help_window; }